Virtualization may be viewed as an abstraction of some physical components into logical objects to allow running various software modules on one or more interconnected physical computer systems. The various software modules may run concurrently or in isolation from other software modules. Virtualization allows, for example, consolidating multiple physical servers into one physical server running multiple virtual machines to improve a hardware utilization rate.
Virtualization may be achieved by the hardware and below the virtual machines. A hypervisor may run directly on the server hardware without an operating system beneath it or as an application running under a traditional operating system. The hypervisor may abstract the physical layer and present this abstraction to virtual machines to use, by providing interfaces between the underlying hardware and virtual devices of virtual machines. A network interface card (NIC) is a hardware interface that connects a host system to one or more virtual machines.